home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / copysavf.arc / CPP3422.CLP < prev    next >
Text File  |  1991-12-04  |  3KB  |  69 lines

  1.  CPP3422:    PGM        (&SAVF &FILE &MBR &CRTFILE &REPLACE)
  2.  
  3.              /*         Program - CPP3422 */
  4.              /*         Copy to Save File CPP */
  5.              /*         Command Processing Program for CPYTOSAVF */
  6.  
  7.              DCL        &SAVF *CHAR 20 /* Save file name */
  8.              DCL        &FILE *CHAR 20 /* Target file name */
  9.              DCL        &MBR *CHAR 10  /* Target file member name */
  10.              DCL        &CRTFILE *LGL 1 /* Create Save file? */
  11.              DCL        &REPLACE *LGL 1 /* Replace Save file data */
  12.  
  13.              DCL        &ERRORCODE *LGL 1 /* Error while proceesing */
  14.  
  15.              MONMSG     MSGID(CPF0000) EXEC(GOTO ENDPGM)
  16.  
  17.              IF         (&MBR *EQ '*SAVF') DO
  18.                CHGVAR   VAR(&MBR) VALUE(%SST(&SAVF 01 10))
  19.              ENDDO
  20.  
  21.              CHKOBJ     OBJ(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
  22.                           OBJTYPE(*FILE) MBR(&MBR)
  23.              MONMSG     MSGID(CPF9801 CPF9815) EXEC(DO)
  24.              SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Database +
  25.                           file' *BCAT %SST(&FILE 01 10) *TCAT '.' +
  26.                           *CAT %SST(&FILE 11 10) *BCAT 'member' *BCAT +
  27.                           &MBR *BCAT 'not found') MSGTYPE(*DIAG)
  28.              GOTO       ENDPGM
  29.              ENDDO
  30.  
  31.              CHKOBJ     OBJ(%SST(&SAVF 01 10).%SST(&SAVF 11 10)) +
  32.                           OBJTYPE(*FILE)
  33.              MONMSG     MSGID(CPF9801) EXEC(DO)
  34.              IF         (&CRTFILE) DO
  35.  CRTSAVF:    CRTSAVF    FILE(%SST(&SAVF 01 10).%SST(&SAVF 11 10)) +
  36.                           TEXT('Q38 - Save file created from file' +
  37.                           *BCAT %SST(&FILE 01 10) *TCAT '.' *CAT +
  38.                           %SST(&FILE 11 10))
  39.              ENDDO
  40.              ELSE       DO
  41.              SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Save +
  42.                           file' *BCAT %SST(&SAVF 01 10) *TCAT '.' +
  43.                           *CAT %SST(&SAVF 11 10) *BCAT 'not found') +
  44.                           MSGTYPE(*DIAG)
  45.              GOTO       ENDPGM
  46.              ENDDO
  47.              ENDDO
  48.  
  49.              IF         (&REPLACE) DO
  50.  CLEAR:      CLRSAVF    FILE(%SST(&SAVF 01 10).%SST(&SAVF 11 10))
  51.              ENDDO
  52.              ELSE       DO
  53.  EXTEND:     OVRSAVF    FILE(CPP3421O) EXTEND(*YES)
  54.              ENDDO
  55.  
  56.  OUTPUT:     OVRSAVF    FILE(CPP3421O) TOFILE(%SST(&SAVF 01 +
  57.                           10).%SST(&SAVF 11 10))
  58.  INPUT:      OVRDBF     FILE(CPP3421I) TOFILE(%SST(&FILE 01 +
  59.                           10).%SST(&FILE 11 10)) MBR(&MBR)
  60.  CALLPGM:    CALL       PGM(CPP3421) PARM(&ERRORCODE)
  61.              IF         (&ERRORCODE) DO
  62.              SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error +
  63.                           occurred while processing save file.  +
  64.                           Unpredictable data may be in file' *BCAT +
  65.                           %SST(&FILE 01 10) *TCAT '.' *CAT %SST(&FILE +
  66.                           11 10)) MSGTYPE(*DIAG)
  67.              ENDDO
  68.  ENDPGM:     ENDPGM
  69.